4
תגובות
לא עושה קוקיז :O
פתח
ArielTador
,
if(isset($_POST['submit']))
{
$nick = $_POST['nick'];
$password = md5(sha1(md5(sha1($_POST['password']))));
$sql = mysql_query("SELECT * FROM `admins` WHERE `nick`='$nick' AND `password`='$password'");
if(mysql_num_rows($sql) <= 0)
{
echo '<script>alert("שם משתמש או סיסמה אינם נכונים!");top.location="";</script>';
}
else
{
echo '<script>alert("התחברת בהצלחה!");top.location="";</script>';
setcookie('pn', $nick);
setcookie('pp', md5(sha1($_POST['password'])));
}
}
{
$nick = $_POST['nick'];
$password = md5(sha1(md5(sha1($_POST['password']))));
$sql = mysql_query("SELECT * FROM `admins` WHERE `nick`='$nick' AND `password`='$password'");
if(mysql_num_rows($sql) <= 0)
{
echo '<script>alert("שם משתמש או סיסמה אינם נכונים!");top.location="";</script>';
}
else
{
echo '<script>alert("התחברת בהצלחה!");top.location="";</script>';
setcookie('pn', $nick);
setcookie('pp', md5(sha1($_POST['password'])));
}
}
הקוד הזה בעצם מבצע התחברות לאתר, אבל.. כשאני עושה את הקוד הזה בשרת wamp, הוא מתחבר ושומר קוקיז, אך כשאני עושה את זה באחסון רגיל, הוא מציג שהפרטים נכונים, ואת ההודעה "התחברת בהצלחה", אך הוא לא שומר קוקיז, אני מנסה שעתיים לסדר את זה, ואני לא מצליח. למה זה לא שומר קוקיז בשרת רגיל?
4 תשובות
קודם כל, כדי לפתור את הבעיה:
http://phpguide.co.il/Can+not+send+session+cookie++headers+already+sent.htm
אתה לא רואה את השגיאה כי הדיבוג מכובה באחסון ובהגדרות של הWAMP הoutput_buffering פועל; תכבה אותו דרך php.ini ותפעיל דיבוג באחסון..
חוץ מזה,
הקוד חשוף ל SQLi,
עדיף לא לעבוד עם MySQL lib
וההצפנה(?) של הסיסמא - אוי גוועלד!
בהצלחה D:
ענה
ArielTador
ב
21 לדצמבר 2013
#
בקשר ל SQLi זה בסדר, כי רק אני משתמש בזה, אז אין צורך לאבטח :D
אגב, יש באתר עוד קוקיז, והם עובדים מצויין, אז למה פה זה לא עובד?